package com.along.game.dao;

import java.util.List;

import com.along.game.model.Bigpic;
import com.along.game.model.GameTable;
import com.along.game.model.Gamescene;
import com.along.game.model.OnlineUser;
/*
 * 管理房间DAO
 */
public interface RoomDAO{
	/**
	 * 所有的游戏场 
	 * @return
	 */
	public List getSceneInfo();
	
	/**
	 * 得到所有的游戏场(级别为2)
	 */
	public List getSceneInfo2();
	
	/**
	 * 通过父节点得到所有的下面的游戏房子
	 */
	public List getSceneInfoBydeskId(String parentId);
	/**
	 * 通过房间id得到房子的在线人数
	 * @param sceneId
	 * @return
	 */
	public  int getUserCountByRoomId(String sceneId);
	/**
	 * 
	 * @return得到所有的房间
	 */
	public List getAllRoom();
	
	/**
	 * 
	 * @return通过游戏场id得到的房间
	 */
	public List getAllRoom(String sceneID);
	
	
	/**
	 * 通过游戏场id，得到所有的用户信息（名称，级别，和积分）
	 * @param sceneId
	 * @return
	 */
	public List getPlayerBySceneId(String sceneId);
	
	/**
	 * 通过游戏桌id，得到所有的户信息（名称，级别，和积分）
	 * @param sceneId
	 * @return
	 */
	public List getPlayerByDeskId(String desk_id);
	
	/**
	 * 通过游戏桌id，得到所有的户信息（退出游戏窗口）
	 * @param sceneId
	 * @return
	 */
	public List getPlayerByDeskId(String desk_id,String ifEnd);
	
	
	/**
	 * 通过用户bsn得到用户状态信息
	 */
	public OnlineUser getOnlineInfoByUsn(String usn);
	
	/**
	 * 通过房间id得到下面的游戏桌
	 */
	public List getDeskByRoomId(String roomId);
	
	/**
	 * 通过房间id得到房间信息
	 */
	public Gamescene getRoomInfoById(String sceneId);
	
	/**
	 * 通过房子id得到房子信息
	 */
	public GameTable getDeskInfoById(String deskId);
	
	/**
	 * 通过游戏桌id和位置，判断是否入座
	 * @param sceneId
	 * @return
	 */
	public boolean ifHavaPositionByDeskId(String desk_id,String position);
	
	/**
	 * 通过游戏桌得到正在玩的图片
	 * @param desk_id
	 * @return
	 */
	public Bigpic getBigPicInfoById(String desk_id);
	
	/**
	 * 通过游戏桌和大图片得到正在玩的小图片
	 * @param desk_id
	 * @return
	 */
	public List getSmallPicInfoById(String desk_id,String bigpicId);
	
	/**
	 * 通过小图片ids(22,2,2),得到图片组
	 * @param smallPics
	 * @return
	 */
	public List getSmallPicInfoById(String smallPics);
	
	/**
	 * 通过游戏桌得到所有的正在玩的大图片,以数验返回
	 * @param desk_id
	 * @return
	 */
	public String[] getBigPicByDeskId(String desk_id);

}
